#ifndef PWAVE_PWAVEDATA3D_H
#define PWAVE_PWAVEDATA3D_H

#include "Data3D.h"


class PWaveData3D : public Data3D {
public:
    double* coeffc2_distr;
    double* c2dtq_distr;

    int non_pml_x_min, non_pml_x_max;       // which means Q is always 0 when x \in [non_pml_x_min, non_pml_x_max), where x \in [0, ldx)


    virtual void allocate();
    virtual void free();

    virtual void init();


    void read_c_model(double* c_model, const char* path);
};

#endif //PWAVE_PWAVEDATA3D_H
